package com.lht.admin.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 借款人个人信息表实体
 *
 * @author ZhengZhanWu
 * @date 2019-12-29 14:10:09
 */
@Data
@NoArgsConstructor
@TableName("lst_person_info")
public class PersonInfoEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    @Getter
    @AllArgsConstructor
    public enum MaritalStatusEnum {
        /**
         * 已婚
         */
        DONE("1"),

        /**
         * 未婚
         */
        NOT_YET("2"),

        /**
         * 其他
         */
        OTHER("3");

        private String value;

    }

    /**
     * 主键id
     */
    @TableId
    private Long id;
    /**
     * 创建时间
     */
    private Date createAt;
    /**
     * 更新时间
     */
    private Date updateAt;
    /**
     * 是否删除   0:未删除(默认)   1:删除
     */
    private String isDelete;
    /**
     * 申请编号
     */
    private String applyNo;
    /**
     * 推销员用户id
     */
    private Long promoUserId;
    /**
     * 姓名
     */
    private String name;
    /**
     * 籍贯，省编号
     */
    private String nativeProvinceCode;
    /**
     * 籍贯，市编号
     */
    private String nativeCityCode;

    /**
     * 手机号
     */
    private String mobile;
    /**
     * 婚姻状况    1:已婚    2:未婚   3:其他
     */
    private String maritalStatus;
    /**
     * 身份证号
     */
    private String idCardNo;
    /**
     * 居住地址，省编号
     */
    private String resideAddressProvinceCode;

    @TableField(exist = false)
    private String resideAddressProvinceName;

    /**
     * 居住地址，市编号
     */
    private String resideAddressCityCode;

    @TableField(exist = false)
    private String resideAddressCityName;

    /**
     * 居住地址，区编号
     */
    private String resideAddressAreaCode;

    @TableField(exist = false)
    private String resideAddressAreaName;

    /**
     * 居住地址，详细地址
     */
    private String resideAddressDetails;
    /**
     * 居住类型id
     */
    private Long resideTypeId;

    public static final String ID = "id";
    public static final String CREATE_AT = "create_at";
    public static final String UPDATE_AT = "update_at";
    public static final String APPLY_NO = "apply_no";
    public static final String PROMO_USER_ID = "promo_user_id";
    public static final String NAME = "name";
    public static final String NATIVE_PROVINCE_CODE = "native_province_code";
    public static final String NATIVE_CITY_CODE = "native_city_code";
    public static final String MOBILE = "mobile";
    public static final String MARITAL_STATUS = "marital_status";
    public static final String ID_CARD_NO = "id_card_no";
    public static final String RESIDE_ADDRESS_PROVINCE_CODE = "reside_address_province_code";
    public static final String RESIDE_ADDRESS_CITY_CODE = "reside_address_city_code";
    public static final String RESIDE_ADDRESS_AREA_CODE = "reside_address_area_code";
    public static final String RESIDE_ADDRESS_DETAILS = "reside_address_details";
    public static final String RESIDE_TYPE_ID = "reside_type_id";
}
